﻿using System;
using System.ServiceModel;
using System.Collections.Generic;
using appDataContracts;

namespace appInterfaces
{
    [ServiceContract]
    public interface ISupplier
    {
        [OperationContract]
        List<SerializedCatalog> getSupplierCatalogs(int supplierId);
        [OperationContract]
        SerializedSupplier supplierLogin(string login, string password);
        [OperationContract]
        List<SerializedProduct> getSupplierProducts(int supplierId);
        [OperationContract]
        List<SerializedProduct> getCatalogProducts(int catalogId);
        [OperationContract]
        List<SerializedCatalog> getProductCatalogs(int productId);
        [OperationContract]
        bool addCatalog(SerializedCatalog catalog);
        [OperationContract]
        bool addProduct(SerializedProduct product, List<int> catalogsId);
        [OperationContract]
        bool updateCatalog(SerializedCatalog catalog);
        [OperationContract]
        bool updateProduct(SerializedProduct product, List<int> catalogsId);
        [OperationContract]
        bool updateSupplier(SerializedSupplier supplier);
        [OperationContract]
        bool deleteProduct(int productId);
        [OperationContract]
        bool addProductInCatalog(int productId, int catalogId);
        [OperationContract]
        bool removeProductFromCatalog(int productId, int catalogId);
        [OperationContract]
        bool deleteCatalog(int catalogId);
        [OperationContract]
        List<SerializedOrderLine> getSupplierOrders(int supplierId);
    }
}